草庐IT

SQLite Having 子句

全部标签

ruby - Rails 使用 OR 查询 WHERE 子句

我有2个单独的RAILS查询,它们都可以独立运行:@charts=Chart.where(:patient_id=>@emailpatient.id)@charts=Chart.where(:patient_id=>@sharepatient.id)我想简单地组合成一个“或”查询。我试过:@charts=Chart.where(:patient_id=>@sharepatient.idOR:patient_id=>@emailpatient.id)和@charts=Chart.where("patient_id=>@sharepatient.idORpatient_id=>@email

ruby-on-rails - 在 Rails ActiveRecord 查询中有条件地链接 where 子句

我有一个表单,当填写时必须触发特定查询,具体取决于表单具有的参数,所以我在我的模型中有一个方法,我认为应该如下所示:defform_query(params)query=''ifparams.has_key?('size')query=query.where(size:params['size'])endifparams.has_key?('title')query=query.where(title:params['title'])end#Moreconditionalsdependingonparams.end我的问题是,query的开头必须是什么?我输入了query='',但我想

ruby-on-rails - 使用 Squeel 时可以在 where block 中有条件地添加子句吗?

首先,我将Railsv3.2.9与Squeel1.0.13一起使用,这是我正在尝试做的事情:我想使用三种身份信息中的任何一种来搜索客户-姓名、出生日期(dob)和社会保险号码(sin)。结果集必须包括具有任何标识符的任何记录-条件的OR。我以前在Squeel中做过这个,它看起来像这样:scope:by_any,->(sin,name,dob){where{(client.sin=="#{sin}")|(client.name=~"%#{name}%")|(client.dob=="#{dob}")}}只要我提供所有标识符,这就可以正常工作。但是,如果我只有名字怎么办?上述范围导致:SE

ruby - 如何使用DataMapper `NOT LIKE` 子句?

我在Sinatra项目中使用DataMapper。我希望能够在DataMapper查找器方法中使用NOTLIKE语句,但不知道如何操作。人们可能会想象这会起作用:@people=People.all(:female=>1,:name.like.not=>'%julie%')...但是DataMapper抛出错误。调换not和like的顺序没有帮助。有什么办法解决这个问题吗? 最佳答案 根据tothedocs您可以使用减法来生成NOT查询:#SubtractionproducesaNOTqueryZoo.all(:state=>'IL

sql - 使用 Sequel,我可以创建带有 FROM 子句的 UPDATE 语句吗

使用Sequel我想创建一个如下所示的UPDATE语句(来自Postgresdocs)UPDATEemployeesSETsales_count=sales_count+1FROMaccountsWHEREaccounts.name='AcmeCorporation'ANDemployees.id=accounts.sales_person;但是,查看Sequeldocumentation目前尚不清楚在哪里可以创建FROM子句。有办法吗?谢谢! 最佳答案 好的,BenLee的回答让我朝着正确的方向前进。解决方案:DB[:employ

sql - Rails ActiveRecord where 子句

我想使用where子句从数据库中选择Cars,为我的问题寻找最佳DRY方法。例如我有这两个参数params[:car_model_id](int)params[:transmission_id](int)params[:from_date]params[:to_date]但我不知道哪个会是nullifparams[:car_model_id].nil?&&!params[:transmission_id].nil?ifparams[:from_date].nil?&¶ms[:from_date].nil?returnCar.where(:transmission_id=>par

ruby-on-rails - 在 Rails 3 事件记录查询中使用 WHERE 子句

我是Rails的新手,我正在尝试使用where方法从我的数据表中检索记录。但是,使用它似乎没有返回任何结果。employee=Employee.where("first_name=?","bill")#doesn'tworkemployee=Employee.where(:first_name=>"bill")#doesn'tworkemployee=Employee.find_by_first_name("bill")#works我正在通过打印employee.first_name来测试结果,就像我说的,前两个不返回任何内容,而第三个返回“bill”。这是怎么回事?

ruby-on-rails - 在 Ruby 中如何将多行放在一个保护子句中?

我有以下代码行:ifparams[:"available_#{district.id}"]=='true'@deliverycharge=@product.deliverycharges.create!(districtrate_id:district.id)delivery_custom_price(district)endRubocop突出显示它并要求我为其使用保护子句。我该怎么做?编辑:Rubocop突出显示第一行并给出此消息使用保护子句而不是将代码包装在条件表达式中 最佳答案 不知道周围的代码是什么样的,所以让我们假设您的代

ruby-on-rails - rails searchkick 中的多个 where 子句

我有一个关于searchkick的非常基本的问题。如果您希望使用if语句在searchkick查询中加入多个where语句怎么办?很像查询生成器@product=Product.allunlessrequest.end_date.nil?@product=@product.search,where('created_at如果请求有结束日期或max_price,上面的代码工作正常。如果两者都有,则会抛出错误。有没有办法构造或连接两个where语句。我做不到Product.search'*',where('created_at因为if语句很重要。 最佳答案

ruby - 如果 "if"语句位于子句末尾,为什么 ruby​​ 中的条件语句和赋值会失败?

为什么最后一条语句(语句末尾带有“if(tmp2=foo)”)会失败?deffoo;5;end#thisoneworksif(tmp=foo)putstmp.to_send#whythisonefailsputstmp2.to_sif(tmp2=foo)#=>undefinedlocalvariableormethod‘tmp2’formain:Object 最佳答案 由于解析器的工作方式,它失败了。从解析器的角度来看,变量tmp2从代码中首次分配它的位置一直存在到它超出范围的位置。为此,当(或如果)实际执行赋值时,只要解析器看到赋